热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

独家|浅析机器学习中的自由度

作者:JasonBrowniee翻译:张若楠校对:林鹤冲本文长度为2800字,建议阅读8分钟本文介绍了自由度的概念ÿ

作者:Jason Browniee

翻译:张若楠

校对:林鹤冲

本文长度为2800字,建议阅读8分钟

本文介绍了自由度的概念,以及如何判断统计学模型和机器学习模型中的自由度。

标签:数据处理

自由度是统计和工程学的重要概念,它通常用于总结在人们在计算样本统计或统计假设检验统计量时所使用的数据量。在机器学习中,自由度可以指模型中的参数数量,例如线性回归模型中的系数数量或深度学习神经网络中的权重数量。

其中值得关注的地方在于,如果机器学习模型中存在过多的自由度(即模型参数),那么这个模型将会过拟合训练集,这是统计学上的普遍认识。可以通过使用正则化技术来克服这种问题,比如正则化线性回归,以及深度学习神经网络模型中常用的各种正则化手段。

在本文中,你将进一步了解统计学和机器学习中的自由度。阅读这篇文章后,你会认识到:

  • 自由度通常表示一个模型系统的起控制作用的因子数。

  • 在统计学中,自由度是用于计算某个统计量的数据大小。

  • 在机器学习中,自由度是模型参数的数量。

让我们开始吧。

概览

本文分为以下三部分:

一、什么是自由度

二、统计学中的自由度

三、机器学习中的自由度

  1. 线性回归模型自由度

  2. 线性回归误差自由度

  3. 线性回归总自由度

  4. 负自由度

  5. 自由度与过拟合

自由度

 

自由度表示的是一个系统、模型或一个计算中的控制因子数。每个可以变换的独立参数都是d维空间中的一个维度,这个d维空间定义了可能影响系统的值的范围。某一个观测值或样本点就是该空间中的一个单独点。

在数学上,自由度通常用希腊字母ν表示,看起来像小写的“ v”。也可以缩写为“ d.o.f”、“ dof”、“ d.f.”,或直接写作“ df”。自由度是统计学和工程学中的术语,也通用于机器学习。

统计学中的自由度

 

在统计中,自由度是用于计算一个统计量时,所用的一系列数值中可以变换的个数。

自由度:大致来说,就是计算统计所需的最少数据量。实际上,它是一个或多个数字,来近似数据集中观测值的数量,从而确定统计显着性。

---《Statistics in Plain English》,2010年第三版P60

它的计算方法是:计算统计量时使用的独立值的数量减去所计算的统计量的个数,即:

自由度 = 独立值的数量 – 统计数量

例如我们有50个独立样本,希望计算样本的统计量,比如均值。我们在计算中使用了全部50个样本,并且只有一个统计量,因此在这种情况下,均值的自由度计算为:

自由度 = 独立值的数量–统计数量

自由度 = 50 – 1

自由度 = 49

自由度通常是数据分布和统计假设检验中需要重点考虑的因素。例如,通常有针对不同自由度查询临界值的表格(相比起直接计算统计数据,既简单又常用)。以上是统计学中的自由度,那么对于数据拟合的模型(例如在机器学习模型)又如何呢?

 

机器学习中的自由度

 

在预测建模中,自由度通常是指模型中从数据估计的参数数量。这可以涵盖模型的系数以及用于模型误差计算的数据。

理解这一点的最佳例子是线性回归模型。

 

线性回归模型中的自由度

 

下面考虑数据集中有两个输入变量的线性回归模型。对于每个输入变量,我们将在模型中给定一个系数,也就是说该模型将具有两个参数。

该模型如下所示,其中x1和x2是输入变量,beta1和beta2是模型参数。

yhat = x1 * beta1 + x2 * beta2

该线性回归模型具有两个自由度,因为它有两个参数必须从训练数据集中估计得到。在数据中再增加一列(增加一个输入变量)将为模型增加一个度自由度。

模型自由度 = 根据数据估算的参数数量

人们通常根据模型训练的参数数量来表达一个模型的复杂程度。例如,具有两个参数的线性回归模型的复杂度等于自由度,在这种情况下为2。相对于较高复杂度的模型,我们通常更喜欢较低复杂度的模型。简单的模型通常更有普适性。

自由度是对模型估计多少参数的解释,也是对线性回归模型的复杂度的衡量

— P71,应用预测建模 (2013)

 

线性回归误差的自由度

 

训练集的数据量很重要,并且会影响回归模型的总体自由度。

假设使用包含100个样本的训练集拟合线性回归模型的系数,通过最小化模型预测值与实际值之间的误差来拟合模型。考虑该模型的误差时,误差值对于模型训练集的每一个样本具有一个自由度,同时需要减去参数的个数。

在这种情况下,模型误差的参数个数为100减2,即98个自由度。

  • 误差自由度 = 样本数量 - 参数数量

  • 误差自由度 = 100 - 2

  • 误差自由度 = 98

在模型分析的报告中通常要提及线性模型的误差以及其误差自由度是有益的,或者至少可以汇报训练数据中的样本量,以便确定模型误差的自由度。

 

线性回归的总体自由度

 

线性回归模型的总体自由度就是模型自由度与模型误差自由度的和。

  • 线性回归自由度 = 模型自由度+模型误差自由度

  • 线性回归自由度 = 2 + 98

  • 线性回归自由度 = 100

通常,自由度等于用于训练集的样本量。现在仍然考虑一个包含100个样本的数据集,但是假设现在我们有70个输入变量。这意味着该模型现在有70个拟合的参数。因此,模型误差将为30 (100 – 70 ) 自由度。

而模型的总自由度仍等于样本量,即70 + 30 = 100。

 

负自由度

 

当我们的数据集列多于行时会发生什么?

例如,我们可能有100行数据和10000个变量,例如100位患者的基因标记。这种情况下,线性回归模型将具有10000个参数,这意味着该模型将具有10000个自由度。

我们可以如下计算模型误差的自由度:

  • 模型误差的自由度 = 样本量 – 参数量

  • 模型误差自由度 = 100 – 10000

  • 模型误差自由度 = -9900

我们可以如下计算总自由度:

  • 线性回归自由度 = 模型自由度 + 模型误差自由度

  • 线性回归自由度 = 10000 + (–9900) 

  • 线性回归自由度 = 100

该模型仍具有100个总自由度,但是模型误差具有负的自由度。负自由度是有效的。这表明我们计算出的统计量多于我们有的变量。在这种情况下,模型中的参数要多于要训练集样本量。这就是所谓的p >> n,即参数远大于样本量。

 

自由度和过拟合

当我们的参数量比样本量大时,模型就存在过拟合训练集的风险。如果我们将模型中的每个系数都视为一个控制点就很容易理解。如果在模型中的控制点多于观察点,则理论上我们可以通过调参来百分百正确的预测实际值。过度学习训练集的细节,从而降低了准确预测新数据的性能,这就是过拟合的定义。

统计学家们普遍担忧深度学习神经网络模型容易过拟合。深度学习模型通常有比样本量更多的参数(模型权重)。如果按照我们对线性模型的理解,这是很可能过拟合的。然而,通过仔细选择模型架构和采用正则化技术,可以防止它们过度拟合并保持较低的误差。

此外,在深度模型中,有效自由度可以与模型中参数的数量分开讨论。

如我们所述,对于简单的分类模型,自由度等于模型中的参数数量。在深度网络中,自由度通常远小于模型中参数的数量,深度网络往往有较小的自由度。

---《深度神经网络的自由度》2016

因此,统计学家和机器学习从业人员开始倾向于不再使用自由度来表示模型复杂性,以及不用其并判断是否会过拟合。

对于大多数应用统计学家来说,拟合过程的自由度是其模型复杂度或对数据过拟合可能性的代名词。[…]而我们认为恰恰相反,模型的复杂性和自由度或许并没有很强的对应关系。

---《有效自由度:存在缺陷的指标》2013

 

总结

 

在本文中,你了解了统计和机器学习的自由度,要点如下:

  • 自由度通常表示一个系统中的控制点数。

  • 在统计中,自由度是用于计算统计量的样本个数。

  • 在机器学习中,自由度是模型参数的数量。


如您想与我们保持交流探讨、持续获得数据科学领域相关动态,包括大数据技术类、行业前沿应用、讲座论坛活动信息、各种活动福利等内容,敬请扫码加入数据派THU粉丝交流群,红数点恭候各位。

编辑:于腾凯

校对:林亦霖

译者简介

张若楠,UIUC统计研究生毕业,南加州传媒行业data scientist。曾实习于国内外商业银行,互联网,零售行业以及食品公司,喜欢接触不同领域的数据分析与应用案例,对数据科学产品研发有很大热情。

翻译组招募信息

工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。

你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。

点击文末“阅读原文”加入数据派团队~

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

点击“阅读原文”拥抱组织



推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 当写稿机器人真有了观点和感情,我们是该高兴还是恐惧?
    目前,写稿机器人多是撰写以数据为主的稿件,当它们能够为文章注入观点之时,这些观点真的是其所“想”吗?最近,《南 ... [详细]
author-avatar
你可知马羔_523
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有